@import './variables.less';

// 全局样式
html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,
    'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',
    'Noto Color Emoji';
  font-size: @font-size-base;
  line-height: 1.5;
  color: @text-color;
  background-color: @background-color-base;
}

#app {
  width: 100%;
  height: 100%;
}

// 滚动条样式
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: @background-color-light;
  border-radius: @border-radius-base;
}

::-webkit-scrollbar-thumb {
  background: @border-color-base;
  border-radius: @border-radius-base;
}

::-webkit-scrollbar-thumb:hover {
  background: @text-color-secondary;
}

// 通用工具类
.flex {
  display: flex;
}

.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.flex-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.flex-column {
  display: flex;
  flex-direction: column;
}

.text-ellipsis {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.cursor-pointer {
  cursor: pointer;
}

// 容器样式
.page-container {
  padding: @spacing-lg;
  min-height: 100%;
  background-color: @background-color-base;
}

.card-container {
  background-color: #fff;
  border-radius: @border-radius-base;
  box-shadow: @box-shadow-light;
  padding: @spacing-lg;
}

.form-container {
  max-width: 600px;
  margin: 0 auto;
  padding: @spacing-lg;
  background-color: #fff;
  border-radius: @border-radius-base;
  box-shadow: @box-shadow-light;
}

.detail-container {
  padding: @spacing-lg;
  background-color: #fff;
  border-radius: @border-radius-base;
  box-shadow: @box-shadow-light;

  .detail-item {
    margin-bottom: @spacing-md;

    .label {
      color: @text-color-secondary;
      margin-right: @spacing-sm;
    }

    .value {
      color: @text-color;
    }
  }
}

// 动画
.fade-enter-active,
.fade-leave-active {
  transition: opacity @animation-duration-base;
}

.fade-enter-from,
.fade-leave-to {
  opacity: 0;
}

.slide-fade-enter-active,
.slide-fade-leave-active {
  transition: all @animation-duration-base;
}

.slide-fade-enter-from,
.slide-fade-leave-to {
  transform: translateX(10px);
  opacity: 0;
} 